package algoritmos2011;

public class LifoSolicitudes {

	private NodoPilaSolicitudes inicio;
		
	
	public void pop(){
		if (!esVacia()){
			NodoPilaSolicitudes aux= inicio;
			if (aux.getSig()!=null)
				inicio =aux.getSig();
			else
				inicio=null;
		}
	}
	
	public NodoPilaSolicitudes getInicio() {
		return inicio;
	}

	public void setInicio(NodoPilaSolicitudes inicio) {
		this.inicio = inicio;
	}
	
	public void push (String usrO,String asunto,String mensaje){
		if (esVacia()){
			NodoPilaSolicitudes nuevo=new NodoPilaSolicitudes(usrO,asunto,mensaje);
			inicio =nuevo;
		}else{
			NodoPilaSolicitudes aux=new NodoPilaSolicitudes(usrO,asunto,mensaje);
			aux.setSig(inicio);
			inicio=aux;
		}
	}

	public boolean esVacia(){
		return inicio==null;
	}

	public LifoSolicitudes() {
	}
	
	public void vaciarLifoSolicitudes(){
		if (this.getInicio()!=null){
			this.setInicio(vaciarLifoSolicitudes(this.getInicio()));
		}
	}
	private NodoPilaSolicitudes vaciarLifoSolicitudes(NodoPilaSolicitudes nodo){
		
		if(nodo.getSig()!=null){
			vaciarLifoSolicitudes(nodo.getSig());
		}
		nodo=null;
		return nodo;
	}
	
	
}
